package com.fg.pro.trade.entity;

import java.util.Date;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;

import java.io.Serializable;

/**
 * 库存变化-出入库总览(TradeStockSheet)表实体类
 *
 * @author makejava
 * @since 2025-08-20 10:10:15
 */
@SuppressWarnings("serial")
@Data
public class TradeStockSheet extends Model<TradeStockSheet> {
//主键
    private Long id;

    private Date createTime;

    private Date updateTime;
//单据类型 0：无效类型单据类型 100：采购入库 110：生产入库 120：退料入库 130：销售退货入库 140：调拨入库 150：其他入库 160：仓间调拨入库单 161：初始库存 162：组装拆卸入库单 300：销售出库 310：领料出库 320：采购退货出库 330：其他出库 331：仓间调拨出库单 332：组装拆卸出库单 600：盘点单 400：仓内货位调拨单(移库单) 700：借出单(客户端表现成记录) 800：归还单(客户端表现成记录) 900：填充单(常规批次填充替代虚拟批次) 1000：调拨单 10100：成本调整单                 允许值: 100, 110, 120, 130, 140, 150, 160, 161, 162, 300, 310, 320, 330, 331, 332, 600, 400, 700, 800, 900, 1000, 10100
    private Integer stockSheetType;
//企业id
    private Long stockSheetGroupId;
//站点id
    private Long stockSheetStationId;
//商户,或供应商的id, 和target_type 一起使用
    private Long stockSheetTargetId;
// 单据状态 0：无效状态1：未提交(草稿)2：已提交(待审核) 已借出/已归还/退货入库提交3：审核不通过（被驳回）4：审核通过/5：反审核 (修改库存)6：冲销/删除7：已结款 已废弃
    private Integer sheetStatus;
//提交时间(业务时间,客户可自己指定)
    private Date submitTime;
//提交时间(物理时间)
    private Date commitTime;
//创建人id
    private Long stockSheetCreatorId;
//当前单据总金额 后端计算(不含税)(不含折让) 即 不含税商品总金额 商品总金额(不含税)
    private Double stockSheetTotalPrice;
//1：商户 2：供应商 3：其他 4：采购员
    private Integer stockSheetTargetType;
//批次号id, 每次反审都会重新
    private Integer stockSheetBatchIndex;
//结款状态 1：未结款 2：已加入结款单,准备结款 3：已结款
    private Integer stockSheetPayStatus;
//金额(含税)(含折让) 单据总金额 商品总金额(不含税) + 税额 + 折让金额
    private Double stockSheetTaxTotalPrice;
//金额(含税)(不含折让) 商品含税总金额 商品总金额(不含税) + 税额
    private Double stockSheetProductTotalPrice;
//供应商id
    private Long stockSheetSupplierId;
//当前单据总金额 后端计算(不含税)(含折让) 即 单据不含税总金额 [商品总金额(不含税) + 折让金额] 如果要得到税额, 就用 tax_total_price - total_price_no_tax
    private Double stockSheetTotalPriceNoTax;
//仓库id
    private Long stockSheetWarehouseId;
//提交人ID
    private Long stockSheetSubmitterId;
//审核人ID
    private Long stockSheetApproverId;
//采购模式，继承自采购单，仅对于采购入库单 0：无 1：供应商直供 2：市场自采
    private Integer stockSheetPurchasePattern;
//详情数
    private Integer stockSheetDetailLen;
//业务单号,展示,唯一 T1234-jHD-2020-..
    private String stockSheetStockSheetSerialNo;
//单据的打印次数
    private Integer stockSheetPrintedCount;
//折让金额
    private Double stockSheetRebatePrice;




    /**
     * 获取主键值
     *
     * @return 主键值
     */
    @Override
    public Serializable pkVal() {
        return this.id;
    }
}

